The present invention relates generally to forward error correction, and more particularly to forward error correction using a continuously interleaved code.
Communication systems often provide large amounts of information over communication channels. The communication channels may, for example, make use of fiber optic links, wires, radio waves, storage mediums. Communication channels, however, generally insert noise into signals communicated over the communication channels, that is a signal received by a receiver over a communication channel may not be the same as the signal as transmitted by a transmitter. In addition, both the transmitter and the receiver may also insert noise into signals being transmitted or received. Accordingly, redundant information is often included in transmitted data, with the redundant information allowing a receiver to determine information intended to have been transmitted.
A number of coding schemes are known for determining the redundant information to be included with transmitted data. Prior to transmission the coding schemes generally convert information symbols or blocks of information symbols into code symbols or blocks of code symbols, and after reception the code symbols or blocks of code symbols are used to recover the information symbols or blocks of information symbols. Selection of a particular coding scheme, and a particular code used in a particular coding scheme, may depend on a variety of factors, including a desired bit error rate (BER), overhead associated with a particular coding scheme and code, ease of encoding and decoding, and other factors.